home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Meeting Pearls 2
/
Meeting Pearls Vol. II (1995)(GTI - Schatztruhe)[!].iso
/
Pearls
/
imdb
/
rexx
/
excelsior_bbs
/
mdb.rexx
< prev
next >
Wrap
OS/2 REXX Batch file
|
1986-12-05
|
7KB
|
247 lines
/* mdb.rexx (c) 1994 by Michael A. Bode */
/* $VER: mdb.rexx 1.0ger (20.11.94) */
/* Original mdb.trans 1.0ger by Georg 'Gio' Magschok */
/* Use this ARexx-script for accessing MovieDataBaseMUI */
/* from within Excelsior! Professional BBS. */
/* Feel free to alter onscreen-texts to fit your language */
options results
GETUSER 1 ; usern = result
GETUSER 23 ; bbsline = result
menuname ='mdbmenu'
selmenu ='mdbselmenu'
/* Alter the next line in order to start MovieMUI properly ! */
mmui = 'run dh0:MovieDataBase/MovieMUI errorfile errorlevel=0 debuglevel=0 quiet'
autoquit = 1
tempfile ='t:mdbtemp.'||bbsline
if (~show('p','MOVIEMUI')) then do
TRANSMIT 'MovieMUI wird gestartet...'
address command mmui
address command 'waitforport MOVIEMUI'
end
NEWLINE
SYSOPLOG usern||' hat die MovieDataBase gestartet !'
CHANGEWHAT 'MovieDataBase'
do until cmd='E'
SENDMENU menuname
GETUSER 7 ; time=result
QUERY '\c2[\c3Zeit: \c4'||time||'\c2] [\c3Befehle: \c4F P S I ? E \c2] \c5'
cmd=upper(result)
if cmd='###PANIC' then call stopit
select
when (cmd='?' | cmd='') then SENDMENU menuname
when cmd='F' then call moviesearch
when cmd='P' then call personsearch
when cmd='S' then call selectivesearch
when cmd='I' then call infor
when cmd='E' then NEWLINE
otherwise do
NEWLINE
TRANSMIT "\c2Dieser Befehl ist hier unbekannt, versuch's mal mit "||'"\c1?\c2" !'
GETCHAR
end
end
end
stopit:
if autoquit=1 then address 'MOVIEMUI' 'QUIT'
exit
moviesearch:
NEWLINE
QUERY 'Nach welchem Film suchen ? ' ; movie=result
if movie~='RESULT' & movie~='' & movie~='###PANIC' then do
TRANSMIT "MovieDataBase wird nach '"||movie||"' durchsucht..."
address 'MOVIEMUI' 'GET "'||movie||'" FROM MOVIE' ; mytext=result
if mytext='RESULT' | RC~=0 then do
TRANSMIT "\c2Der Film wurde nicht gefunden ! Probier's mal mit selektiver Suche !"
GETCHAR
end
else do
TRANSMIT '\c7'
call gibsaus
end
end
return
personsearch:
NEWLINE
QUERY 'Nach welcher Person suchen (Nachname, Vorname) ? ' ; person=result
if person~='RESULT' & person~='' & person~='###PANIC' then do
TRANSMIT "MovieDataBase wird nach '"||person||"' durchsucht..."
address 'MOVIEMUI' 'GET "'||person||'" FROM ANY' ; mytext=result
if mytext='RESULT' | RC~=0 then do
TRANSMIT "\c2Die Person wurde nicht gefunden ! Probier's mal mit selektiver Suche !"
GETCHAR
end
else do
TRANSMIT '\c7'
call gibsaus
end
end
return
selectivesearch:
NEWLINE
address 'MOVIEMUI' 'UNSELECT KEY=0' ; skey=result
numentries='alle'
do until cmd='+'
SENDMENU selmenu
GETUSER 7 ; time=result
NEWLINE
TRANSMIT 'Es sind '||numentries||' Datensaetze selektiert !'
QUERY '\n1\c2[\c3Zeit: \c4'||time||'\c2] [\c3Befehle: \c40\c3-\c49 U N D W ? + \c2] \c5'
cmd=upper(result)
if CARRIER=0 then call stopit
einschr=0
select
when (cmd='?' | cmd='') then SENDMENU selmenu
when cmd='+' then NEWLINE
when cmd='' then NEWLINE
when cmd='0' then do
sts='MOVIE' ; stl='Filmtitel' ; einschr=1 ; end
when cmd='1' then do
sts='ACR' ; stl='Schauspieler' ; einschr=1 ; end
when cmd='2' then do
sts='ACS' ; stl='Schauspielerin' ; einschr=1 ; end
when cmd='3' then do
sts='COMP' ; stl='Komponist' ; einschr=1 ; end
when cmd='4' then do
sts='COST' ; stl='Kostuem-Designer' ; einschr=1 ; end
when cmd='5' then do
sts='DIR' ; stl='Regisseur' ; einschr=1 ; end
when cmd='6' then do
sts='ED' ; stl='Editor' ; einschr=1 ; end
when cmd='7' then do
sts='PRDE' ; stl='Produktions-Designer' ; einschr=1 ; end
when cmd='8' then do
sts='PROD' ; stl='Produzent' ; einschr=1 ; end
when cmd='9' then do
sts='WRITE' ; stl='Autor' ; einschr=1 ; end
when cmd='U' then do
address 'MOVIEMUI' 'UNDOSELECT KEY='||skey ; numentries=result
end
when cmd='N' then do
NEWLINE
numentries='alle'
address 'MOVIEMUI' 'ENDSELECTION KEY='||skey
address 'MOVIEMUI' 'UNSELECT KEY=0' ; skey=result
end
when cmd='D' then call getsel
when cmd='W' then call getfromsel
otherwise do
NEWLINE
TRANSMIT "\c2Dieser Befehl ist hier unbekannt, versuch's mal mit "||'"\c1?\c2" !'
GETCHAR
end
end
if einschr=1 then do
NEWLINE
TRANSMIT 'Einschraenkungspattern (nach AmigaOS-Konventionen !)'
QUERY 'fuer '||stl||': ' ; mypat=result
if mypat~='RESULT' & mypat~='' then do
do while pos('*',mypat)>0
sternpos=pos('*',mypat)
mypat=left(mypat,sternpos-1)||'#?'||right(mypat,length(mypat)-sternpos)
end
TRANSMIT "MovieDataBase wird nach "||stl||"='"||mypat||"' durchsucht..."
address 'MOVIEMUI' 'SELECT KEY='||skey||' "'||mypat||'" FROM '||sts
numentries=result
if RC~=0 then do
TRANSMIT '\c2Fehler beim Selektieren, mache Selektierung rueckgaengig...'
GETCHAR
address 'MOVIEMUI' 'UNDOSELECT KEY='||skey ; numentries=result
end
end
end
end
address 'MOVIEMUI' 'ENDSELECTION KEY='||skey
cmd=''
return
getsel:
NEWLINE
if numentries=0 then do
TRANSMIT '\c2Es sind keine Daten selektiert !'
GETCHAR ; end
else
if numentries > 100 | numentries='alle' then do
TRANSMIT '\c2Es sind mehr als 100 Datensaetze selektiert !'
TRANSMIT 'Bitte weiter einschraenken !'
GETCHAR
end
else do
address 'MOVIEMUI' 'GETSELECTION KEY='||skey ; mytext=result
if mytext='RESULT' | RC~=0 then do
TRANSMIT "\c2Tja, nix gefunden, sorry !"
GETCHAR ; end
else
TRANSMIT '\c7'
call gibsaus
end
return
getfromsel:
NEWLINE
if numentries=0 then do
TRANSMIT '\c2Es sind keine Daten selektiert !'
GETCHAR ; end
else do
QUERY '\c2Welchen '||stl||' (Nummer \c11\c2...\c1'||numentries||'\c2) zeigen ? ' ; frose=result
if frose~='RESULT' & frose~='' & datatype(frose)='NUM' then
if frose>0 & frose<numentries+1 then do
TRANSMIT '\n1\c3Ein wenig Geduld bitte !'
address 'MOVIEMUI' 'GETFROMSELECTION KEY='||skey||' NUMBER='||frose ; mytext=result
if mytext='RESULT' | RC~=0 then do
TRANSMIT "\c2Tja, nix gefunden, sorry !"
GETCHAR ; end
else
TRANSMIT '\c7'
call gibsaus
end
end
return
infor:
NEWLINE ; NEWLINE
TRANSMIT "\c6mdb.rexx fuer Excelsior! V1.0ger (C)'94 by Michael A. Bode"
TRANSMIT "\c6mdb.trans fuer TABBS V1.0ger (C)'94 by Georg 'Gio' Magschok"
address 'MOVIEMUI' 'INFO "title"' ; TRANSMIT '\c7'||result
address 'MOVIEMUI' 'INFO "author"' ; TRANSMIT 'by '||result
address 'MOVIEMUI' 'INFO "copyright"' ; TRANSMIT '(C) '||result
address 'MOVIEMUI' 'INFO "description"' ; TRANSMIT result
address 'MOVIEMUI' 'INFO "version"' ; TRANSMIT result
NEWLINE
address 'MOVIEMUI' 'GETSTATISTIC' ; mytext=result
TRANSMIT '\c3'
call gibsaus
return
gibsaus:
fina=tempfile
if open('fit',fina,'W') then do
call writeln('fit',mytext)
call close('fit')
NEWLINE
SENDFILE fina
address command 'delete '||fina||' quiet'
continue
end
else do
TRANSMIT "\c1\k1FEHLER ! BITTE DEN SYSOP INFORMIEREN !\k0"
GETCHAR
end
return